home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 42 / Amiga Format AFCD42 (Issue 126, Aug 1999).iso / -serious- / comms / other / slrn / slrn_src / macros / search.sl < prev    next >
Text File  |  1999-05-14  |  743b  |  38 lines

  1. % This macro allows one to search throgh the bodies of the articles in the
  2. % current newsgroup.  It binds the function 'search_newsgroup' to the '$' key
  3. % in article mode.
  4.  
  5. variable Search_Last_Art_Search_Str = "";
  6. define search_newsgroup ()
  7. {
  8.    variable str;
  9.    variable flags;
  10.    
  11.    str = read_mini ("Search for regexp", Search_Last_Art_Search_Str, "");
  12.    if (str == "")
  13.      return;
  14.  
  15.    Search_Last_Art_Search_Str = str;
  16.    
  17.    uncollapse_threads ();
  18.    
  19.    do
  20.      {
  21.     flags = get_header_flags ();
  22.     
  23.     if (re_search_article (str))
  24.       {
  25.          pop ();
  26.          return;
  27.       }
  28.     
  29.     set_header_flags (flags);
  30.     
  31.     call ("hide_article");
  32.      }
  33.    while (header_down (1));
  34.    
  35.    error ("Not found.");
  36. }
  37. definekey ("search_newsgroup", "$", "article");
  38.